package com.fishery.search.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fishery.search.entity.Diagnose;
import com.fishery.search.entity.SearchCondition;
import org.elasticsearch.search.sort.SortOrder;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * @author ghost
 * @description 疾病诊断业务类
 * @since 2021-1-27
 */
public interface DiagnoseService extends IService<Diagnose> {


	/**
	 * 发表疾病相关文章
	 *
	 * @param diagnose
	 * @return
	 */
	boolean saveArticle(Diagnose diagnose);

	/**
	 * 通过id删除已发布的疾病文章
	 *
	 * @param id
	 * @return
	 */
	boolean deleteArticle(String id);

	/**
	 * 通过用户id分页获取疾病文章
	 *
	 * @param userId
	 * @param current
	 * @param size
	 * @return
	 */
	Page<Diagnose> getDiseaseDiagnoseInfo(String userId, int current, int size);

	/**
	 * 通过用户id、文章id修改自己的疾病文章
	 *
	 * @param diagnose
	 * @return
	 */
	boolean updateArticle(Diagnose diagnose);

	/**
	 * 通过文章ID查询文章
	 *
	 * @param articleId
	 * @param userId
	 * @return
	 */
	Diagnose getArticleById(String articleId, String userId);


	/**
	 * 将Redis文章的阅读量持久化到数据库
	 *
	 * @return
	 */
	boolean updateReadAmountOfArticleToDB();

}

